
package com.feib.soeasy.dao;

import com.feib.soeasy.model.Group;
import com.feib.soeasy.pagination.PaginatedList;


/**
 * @title (#)GroupDao.java<br>
 * @description 帳單業者基本資料Dao<br>
 * @author Jimmy Liu<br>
 * @version 1.0.0 2010/11/25
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2010/11/19 create by Jimmy Liu<br>
 */
public interface GroupDao extends HibernateDao<Group, Long> {

    /**
     * 依據查詢物件查詢帳單業者
     * @param payment 查詢條件
     * @param paginationConfig 換頁、排序條件
     * @return 查詢結果物件
     */
    public PaginatedList<Group> queryPaginationByGroup(Group group, PaginatedList<Group> paginationConfig);

    /**
     * 依據業者代號(unique key)取得帳單業者物件
     * @param groupNo 業者代號
     * @return 帳單業者物件
     */
    public Group getGroupByGroupNo(String groupNo);

    /**
     * 依據查詢物件查詢帳單業者,排除銀行端資料
     * @param group 查詢條件
     * @param paginationConfig 換頁、排序條件
     * @return 查詢結果物件
     */
    public PaginatedList<Group> queryPaginationByGroupExcludeBank(Group group, PaginatedList<Group> paginationConfig);

    /**
     * 
     * @param group 查詢條件
     * @param accountNo
     * @param paginationConfig換頁、排序條件
     * @return 查詢結果物件
     */
    public PaginatedList<Group> queryPaginationByGroupvirtualAccountNo(Group group, String accountNo, PaginatedList<Group> paginationConfig);

    /**
     * @param groupNo
     * @return
     */
    public Group findByGroupNo(String groupNo);

	
	public void updateAmount(Group group);
	
	public void updateLevel(Group group);
}
